// 1、导入系统模块

// 2、导入自定义模块
// 2.1 导入错误类型常量
const {modelError} = require('../constant/error.type')

// 3、定义中间件
// 3.1 验证数据类型
const validator = (rules) => {
    return async (ctx, next) => {
        try {
            ctx.verifyParams(rules)
        } catch (error) {
            console.error(error)
            modelError.result = error
            return ctx.app.emit('error', modelError, ctx)
        }
        await next()
    }
}

// 4、导出中间件函数
module.exports = {
    validator,
}